package com.ruoyi.walmart.service.auth;


import com.ruoyi.common.core.domain.AuthBrand;
import com.ruoyi.common.core.domain.ProductCates;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.walmart.domain.auth.ShopAuth;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ShopAuthService {

    /**
     * 判断授权是否正确
     * @param shopAuth 条件
     * @return 结果
     */
    int authFlay(ShopAuth shopAuth);

    /**
     * 查询所以授权记录
     * @return 结果
     */
    List<ShopAuth> selectAllList(ShopAuth shopAuth);

    /**
     * 删除店铺授权记录
     * @param authId 根据id删除
     * @return 结果
     */
    int deleteByAuthIdInt(Long authId);

    /**
     * 重新授权店铺
     * @param shopAuth 条件
     * @return 结果
     */
    int updateShopAuth(ShopAuth shopAuth);

    /**
     * 查询授权店铺
     * @param authId 通过id来查询
     * @return 结果
     */
    ShopAuth selectByAuthId(Long authId);

    /**
     * 查询品牌
     * @param authBrand
     * @return
     */
    List<AuthBrand> selectAuthBrand(AuthBrand authBrand);

    /**
     * 添加品牌
     * @param authBrand
     * @return
     */
    int authBrandInsert(AuthBrand authBrand);

    /**
     * 详情页
     * @param authBrandId
     * @return
     */
    AuthBrand selectByAuthBrandId(Long authBrandId);

    /**
     * 修改品牌
     * @param authBrand
     * @return
     */
    int updateAuthBrand(AuthBrand authBrand);

    /**
     * 删除品牌
     * @param authBrandId
     * @return
     */
    int updateByAuthBrandId(Long authBrandId);

    /**
     * 查询品牌树结构信息
     * @param authBrand 品牌信息
     * @return 产品树信息集合
     */
    public List<TreeSelect> selectAuthBrandTreeList(AuthBrand authBrand);

    /**
     * 构建前端所需要树结构
     *
     * @param authBrandList 品牌列表
     * @return 树结构列表
     */
    public List<AuthBrand> buildAuthBrandTree(List<AuthBrand> authBrandList);

    /**
     * 构建前端所需要下拉树结构
     *
     * @param authBrandList 产品列表
     * @return 下拉树结构列表
     */
    public List<TreeSelect> buildAuthBrandTreeSelect(List<AuthBrand> authBrandList);

    /**
     * 根据店铺名称查询店铺信息
     * @param shopName
     * @return
     */
    ShopAuth selectShopAuthByShopName(String shopName);
}